home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat1 / csh.z / csh
Text File  |  1998-10-20  |  106KB  |  1,783 lines

  1.  
  2.  
  3.  
  4. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _cccc_ssss_hhhh - shell command interpreter with a C-like syntax
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _cccc_ssss_hhhh [ _----_bbbb_cccc_eeee_ffff_iiii_nnnn_ssss_tttt_vvvv_VVVV_xxxx_XXXX ] [ _a_r_g_u_m_e_n_t ... ]
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      _cccc_ssss_hhhh, the C shell, is a command interpreter with a syntax reminiscent of
  16.      the C language.  It provides a number of convenient features for
  17.      interactive use that are not available with the standard (Bourne) shell,
  18.      including filename completion, command aliasing, history substitution,
  19.      job control, and a number of built-in commands.  As with the standard
  20.      shell, the C shell provides variable, command and filename substitution.
  21.  
  22.    IIIInnnniiiittttiiiiaaaalllliiiizzzzaaaattttiiiioooonnnn aaaannnndddd TTTTeeeerrrrmmmmiiiinnnnaaaattttiiiioooonnnn
  23.      When first started, the C shell normally performs commands from the
  24.      _...._cccc_ssss_hhhh_rrrr_cccc file in your home directory, provided that it is readable and you
  25.      either own it or your real group ID matches its group ID.  If the shell
  26.      is invoked with a name that starts with `_----', as when started by _llll_oooo_gggg_iiii_nnnn(1),
  27.      the shell runs as a _llll_oooo_gggg_iiii_nnnn shell.  In this case, before executing the
  28.      commands from the _...._cccc_ssss_hhhh_rrrr_cccc file, the shell executes the commands from the
  29.      following files in the order specified:  _////_eeee_tttt_cccc_////_cccc_ssss_hhhh_rrrr_cccc, _////_eeee_tttt_cccc_////_...._llll_oooo_gggg_iiii_nnnn and
  30.      _////_eeee_tttt_cccc_////_cccc_ssss_hhhh_...._cccc_ssss_hhhh_rrrr_cccc.  These files can be used to provide system-wide settings
  31.      for all _cccc_ssss_hhhh users.  After executing commands from the _...._cccc_ssss_hhhh_rrrr_cccc file, a
  32.      login shell executes commands from the _...._llll_oooo_gggg_iiii_nnnn file in your home
  33.      directory; the same permission checks as those for _...._cccc_ssss_hhhh_rrrr_cccc are applied to
  34.      this file.  Typically, the _...._llll_oooo_gggg_iiii_nnnn file contains commands to specify the
  35.      terminal type and environment.  Please note that _cccc_ssss_hhhh can run as a _llll_oooo_gggg_iiii_nnnn
  36.      shell if it is invoked upon startup of a window shell such as _xxxx_wwww_ssss_hhhh(1G).
  37.      This is so any terminal type information that might be contained in the
  38.      _...._llll_oooo_gggg_iiii_nnnn file(s) can be made known to the window shell.
  39.  
  40.      As a login shell terminates, it performs commands from the _...._llll_oooo_gggg_oooo_uuuu_tttt file
  41.      in your home directory; the same permission checks as those for _...._cccc_ssss_hhhh_rrrr_cccc
  42.      are applied to this file.
  43.  
  44.    IIIInnnntttteeeerrrraaaaccccttttiiiivvvveeee OOOOppppeeeerrrraaaattttiiiioooonnnn
  45.      After startup processing is complete, an interactive C shell begins
  46.      reading commands from the terminal, prompting with _h_o_s_t_n_a_m_e_%%%% (or
  47.      _h_o_s_t_n_a_m_e_#### for the privileged user).  The shell then repeatedly performs
  48.      the following actions:  a line of command input is read and broken into
  49.      _w_o_r_d_s.  This sequence of words is placed on the history list and then
  50.      parsed, as described under USAGE, below.  Finally, the shell executes
  51.      each command in the current line.
  52.  
  53.    NNNNoooonnnniiiinnnntttteeeerrrraaaaccccttttiiiivvvveeee OOOOppppeeeerrrraaaattttiiiioooonnnn
  54.      When running noninteractively, the shell does not prompt for input from
  55.      the terminal.  A noninteractive C shell can execute a command supplied as
  56.      an _a_r_g_u_m_e_n_t on its command line, or interpret commands from a script.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  71.  
  72.  
  73.  
  74.      The following options are available:
  75.  
  76.      _----_bbbb   Force a break from option processing.  Subsequent command-line
  77.           arguments are not interpreted as C shell options.  This allows the
  78.           passing of options to a script without confusion.  The shell does
  79.           not run a set-user-ID script unless this option is present.
  80.  
  81.      _----_cccc   Read commands from the first filename _a_r_g_u_m_e_n_t (which must be
  82.           present).  Remaining arguments are placed in _aaaa_rrrr_gggg_vvvv, the argument-list
  83.           variable.
  84.  
  85.      _----_eeee   Exit if a command terminates abnormally or yields a nonzero exit
  86.           status.
  87.  
  88.      _----_ffff   Fast start.  Read neither the _...._cccc_ssss_hhhh_rrrr_cccc file, nor the _...._llll_oooo_gggg_iiii_nnnn file (if a
  89.           login shell) upon startup.
  90.  
  91.      _----_iiii   Forced interactive.  Prompt for command line input, even if the
  92.           standard input does not appear to be a terminal (character-special
  93.           device).
  94.  
  95.      _----_nnnn   Parse (interpret), but do not execute commands.  This option can be
  96.           used to check C shell scripts for syntax errors.
  97.  
  98.      _----_ssss   Take commands from the standard input.
  99.  
  100.      _----_tttt   Read and execute a single command line.  A `_\\\\' (backslash) can be
  101.           used to escape each newline for continuation of the command line
  102.           onto subsequent input lines.
  103.  
  104.      _----_vvvv   Verbose.  Set the _vvvv_eeee_rrrr_bbbb_oooo_ssss_eeee predefined variable; command input is
  105.           echoed after history substitution (but before other substitutions)
  106.           and before execution.
  107.  
  108.      _----_VVVV   Set _vvvv_eeee_rrrr_bbbb_oooo_ssss_eeee before reading _...._cccc_ssss_hhhh_rrrr_cccc.
  109.  
  110.      _----_xxxx   Echo.  Set the _eeee_cccc_hhhh_oooo variable; echo commands after all substitutions
  111.           and just before execution.
  112.  
  113.      _----_XXXX   Set _eeee_cccc_hhhh_oooo before reading _...._cccc_ssss_hhhh_rrrr_cccc.
  114.  
  115.      Except with the options _----_cccc, _----_iiii, _----_ssss, or _----_tttt_,,,, the first nonoption _a_r_g_u_m_e_n_t
  116.      is taken to be the name of a command or script.  It is passed as argument
  117.      zero, and subsequent arguments are added to the argument list for that
  118.      command or script.  _cccc_ssss_hhhh scripts should always start with the line
  119.  
  120.           _####_!!!! _////_bbbb_iiii_nnnn_////_cccc_ssss_hhhh _----_ffff
  121.  
  122.      which causes the script to be executed by _////_bbbb_iiii_nnnn_////_cccc_ssss_hhhh even if invoked by a
  123.      user running a shell other than _cccc_ssss_hhhh and inhibits processing of the _...._cccc_ssss_hhhh_rrrr_cccc
  124.      file to prevent interference from aliases defined by the invoking user.
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  137.  
  138.  
  139.  
  140. UUUUSSSSAAAAGGGGEEEE
  141.    FFFFiiiilllleeeennnnaaaammmmeeee CCCCoooommmmpppplllleeeettttiiiioooonnnn
  142.      When enabled by setting the variable _ffff_iiii_llll_eeee_cccc, an interactive C shell can
  143.      complete a partially typed filename or user name.  When an unambiguous
  144.      partial filename is followed by an ESC character on the terminal input
  145.      line, the shell fills in the remaining characters of a matching filename
  146.      from the working directory.
  147.  
  148.      If a partial filename is followed by the EOF character (usually typed as
  149.      <Ctrl-d>), the shell lists all filenames that match.  It then prompts
  150.      once again, supplying the incomplete command line typed in so far.
  151.  
  152.      When the last (partial) word begins with a tilde (_~~~~), the shell attempts
  153.      completion with a user name, rather than a file in the working directory.
  154.  
  155.      The terminal bell signals errors or multiple matches; this can be
  156.      inhibited by setting the variable _nnnn_oooo_bbbb_eeee_eeee_pppp.  You can exclude files with
  157.      certain suffixes by listing those suffixes in the variable _ffff_iiii_gggg_nnnn_oooo_rrrr_eeee.  If,
  158.      however, the only possible completion includes a suffix in the list, it
  159.      is not ignored.  _ffff_iiii_gggg_nnnn_oooo_rrrr_eeee does not affect the listing of filenames by the
  160.      EOF character.
  161.  
  162.    LLLLeeeexxxxiiiiccccaaaallll SSSSttttrrrruuuuccccttttuuuurrrreeee
  163.      The shell splits input lines into words at space and tab characters,
  164.      except as noted below.  The characters _&&&&, _||||, _;;;;, _<<<<, _>>>>, _((((, and _)))) form
  165.      separate words; if paired, the pairs form single words.  These shell
  166.      metacharacters can be made part of other words, and their special meaning
  167.      can be suppressed by preceding them with a `_\\\\' (backslash).  A newline
  168.      preceded by a _\\\\ is equivalent to a space character.
  169.  
  170.      In addition, a string enclosed in matched pairs of single-quotes (_''''),
  171.      double-quotes (_""""), or backquotes (_````), forms a partial word;
  172.      metacharacters in such a string, including any space or tab characters,
  173.      do not form separate words.  Within pairs of backquote (`_)))) or double-
  174.      quote (_"""") characters, a newline preceded by a `_\\\\' (backslash) gives a
  175.      true newline character.  Additional functions of each type of quote are
  176.      described, below, under _VVVV_aaaa_rrrr_iiii_aaaa_bbbb_llll_eeee _SSSS_uuuu_bbbb_ssss_tttt_iiii_tttt_uuuu_tttt_iiii_oooo_nnnn, _CCCC_oooo_mmmm_mmmm_aaaa_nnnn_dddd _SSSS_uuuu_bbbb_ssss_tttt_iiii_tttt_uuuu_tttt_iiii_oooo_nnnn, and
  177.      _FFFF_iiii_llll_eeee_nnnn_aaaa_mmmm_eeee _SSSS_uuuu_bbbb_ssss_tttt_iiii_tttt_uuuu_tttt_iiii_oooo_nnnn.
  178.  
  179.      When the shell's input is not a terminal, the character _#### introduces a
  180.      comment that continues to the end of the input line.  Its special meaning
  181.      is suppressed when preceded by a _\\\\ or enclosed in matching quotes.
  182.  
  183.    CCCCoooommmmmmmmaaaannnndddd LLLLiiiinnnneeee PPPPaaaarrrrssssiiiinnnngggg
  184.      A _s_i_m_p_l_e _c_o_m_m_a_n_d is composed of a sequence of words.  The first word
  185.      (that is not part of an I/O redirection) specifies the command to be
  186.      executed.  A simple command, or a set of simple commands separated by _||||
  187.      or _||||_&&&& characters, forms a _p_i_p_e_l_i_n_e.  With _||||, the standard output of the
  188.      preceding command is redirected to the standard input of the command that
  189.      follows.  With _||||_&&&&, both the standard error and the standard output are
  190.      redirected through the pipeline.
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  203.  
  204.  
  205.  
  206.      Pipelines can be separated by semicolons (_;;;;), in which case they are
  207.      executed sequentially.  Pipelines that are separated by _&&&&_&&&& or _||||_|||| form
  208.      conditional sequences in which the execution of pipelines on the right
  209.      depends upon the success or failure, respectively, of the pipeline on the
  210.      left.
  211.  
  212.      A pipeline or sequence can be enclosed within parentheses `_(((( _))))' to form a
  213.      simple command that can be a component in a pipeline or sequence.
  214.  
  215.      A sequence of pipelines can be executed asynchronously, or in the
  216.      background by appending an `_&&&&'; rather than waiting for the sequence to
  217.      finish before issuing a prompt, the shell displays the job number (see
  218.      _JJJJ_oooo_bbbb _CCCC_oooo_nnnn_tttt_rrrr_oooo_llll, below) and associated process IDs, and prompts immediately.
  219.  
  220.    HHHHiiiissssttttoooorrrryyyy SSSSuuuubbbbssssttttiiiittttuuuuttttiiiioooonnnn
  221.      History substitution allows you to use words from previous command lines
  222.      in the command line you are typing.  This simplifies spelling corrections
  223.      and the repetition of complicated commands or arguments.  Command lines
  224.      are saved in the history list, the size of which is controlled by the
  225.      _hhhh_iiii_ssss_tttt_oooo_rrrr_yyyy variable.  The most recent command is retained in any case.  A
  226.      history substitution begins with a _!!!! (although you can change this with
  227.      the _hhhh_iiii_ssss_tttt_cccc_hhhh_aaaa_rrrr_ssss variable) and can occur anywhere on the command line;
  228.      history substitutions do not nest.  The _!!!! can be escaped with _\\\\ to
  229.      suppress its special meaning.
  230.  
  231.      Input lines containing history substitutions are echoed on the terminal
  232.      after being expanded, but before any other substitutions take place or
  233.      the command gets executed.
  234.  
  235.    _E_v_e_n_t _D_e_s_i_g_n_a_t_o_r_s
  236.      An event designator is a reference to a command-line entry in the history
  237.      list.
  238.  
  239.      _!!!!         Start a history substitution, except when followed by a space
  240.                character, tab, newline, _==== or _((((.
  241.  
  242.      _!!!!_!!!!        Refer to the previous command.  By itself, this substitution
  243.                repeats the previous command.
  244.  
  245.      _!!!!_n        Refer to command line _n .
  246.  
  247.      _!!!!-_n       Refer to the current command line minus _n.
  248.  
  249.      _!!!!_ssss_tttt_rrrr      Refer to the most recent command starting with _ssss_tttt_rrrr.
  250.  
  251.      _!!!!_????_s_t_r[_????]  Refer to the most recent command containing _ssss_tttt_rrrr.
  252.  
  253.      _!!!!_{{{{..._}}}}    Insulate a history reference from adjacent characters (if
  254.                necessary).
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  269.  
  270.  
  271.  
  272.    _W_o_r_d _D_e_s_i_g_n_a_t_o_r_s
  273.      A `_::::'  (colon) separates the event specification from the word
  274.      designator.  It can be omitted if the word designator begins with a _^^^^, _$$$$,
  275.      _****, _---- or _%%%%.  If the word is to be selected from the previous command, the
  276.      second _!!!! character can be omitted from the event specification.  For
  277.      instance, _!!!!_!!!!_::::_1111 and _!!!!_::::_1111 both refer to the first word of the previous
  278.      command, while _!!!!_!!!!_$$$$ and _!!!!_$$$$ both refer to the last word in the previous
  279.      command.  Word designators include:
  280.  
  281.      _####    The entire command line typed so far.
  282.      _0000    The first input word (command).
  283.      _n    The _n'th argument.
  284.      _^^^^    The first argument, that is, _1111.
  285.      _$$$$    The last argument.
  286.      _%%%%    The word matched by (the most recent) _????_s search.
  287.      _x_----_y  A range of words; _----_y abbreviates _0000_----_y.
  288.      _****    All the arguments, or a null value if there is just one word in the
  289.           event.
  290.      _x_****   Abbreviates _x_----_$$$$.
  291.      _x_----   Like _x* but omitting word _$$$$.
  292.  
  293.    _M_o_d_i_f_i_e_r_s
  294.      After the optional word designator, you can add a sequence of one or more
  295.      of the following modifiers, each preceded by a _::::.
  296.  
  297.      _hhhh    Remove a trailing pathname component, leaving the head.
  298.      _rrrr    Remove a trailing suffix of the form `_...._x_x_x', leaving the basename.
  299.      _eeee    Remove all but the suffix.
  300.      _ssss_////_l_////_r[_////]
  301.           Substitute _r for _l.
  302.      _tttt    Remove all leading pathname components, leaving the tail.
  303.      _&&&&    Repeat the previous substitution.
  304.      _gggg    Apply the change to the first occurrence of a match in each word, by
  305.           prefixing the above (for example, _gggg_&&&&).
  306.      _pppp    Print the new command but do not execute it.
  307.      _qqqq    Quote the substituted words, escaping further substitutions.
  308.      _xxxx    Like _qqqq, but break into words at each space character, tab or
  309.           newline.
  310.  
  311.      Unless preceded by a _gggg, the modification is applied only to the first
  312.      string that matches _l; an error results if no string matches.
  313.  
  314.      The left-hand side of substitutions are not regular expressions, but
  315.      character strings.  Any character can be used as the delimiter in place
  316.      of _////.  A backslash quotes the delimiter character.  The character _&&&&, in
  317.      the right hand side, is replaced by the text from the left-hand-side.
  318.      The _&&&& can be quoted with a backslash.  A null _l uses the previous string
  319.      either from a _l or from a contextual scan string _s from _!!!!_????_s.  You can
  320.      omit the rightmost delimiter if a newline immediately follows _r; the
  321.      rightmost _????  in a context scan can similarly be omitted.
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  335.  
  336.  
  337.  
  338.      Without an event specification, a history reference refers either to the
  339.      previous command, or to a previous history reference on the command line
  340.      (if any).
  341.  
  342.    _Q_u_i_c_k _S_u_b_s_t_i_t_u_t_i_o_n
  343.      _^^^^_l_^^^^_r[_^^^^]   This is equivalent to the history substitution:  _!!!!_::::_ssss_^^^^_l_^^^^_r[_^^^^].
  344.  
  345.    AAAAlllliiiiaaaasssseeeessss
  346.      The C shell maintains a list of aliases that you can create, display, and
  347.      modify using the _aaaa_llll_iiii_aaaa_ssss and _uuuu_nnnn_aaaa_llll_iiii_aaaa_ssss commands.  The shell checks the first
  348.      word in each command to see if it matches the name of an existing alias.
  349.      If it does, the command is reprocessed with the alias definition
  350.      replacing its name; the history substitution mechanism is made available
  351.      as though that command were the previous input line.  This allows history
  352.      substitutions, escaped with a backslash in the definition, to be replaced
  353.      with actual command-line arguments when the alias is used.  If no history
  354.      substitution is called for, the arguments remain unchanged.
  355.  
  356.      Aliases can be nested.  That is, an alias definition can contain the name
  357.      of another alias.  Nested aliases are expanded before any history
  358.      substitutions is applied.  This is useful in pipelines such as
  359.  
  360.           _aaaa_llll_iiii_aaaa_ssss  _llll_mmmm _''''_llll_ssss  _----_llll  _\\\\_!!!!_****  _||||  _mmmm_oooo_rrrr_eeee_''''
  361.  
  362.      which when called, pipes the output of _llll_ssss(1) through _mmmm_oooo_rrrr_eeee(1).
  363.  
  364.      Except for the first word, the name of the alias cannot appear in its
  365.      definition, nor in any alias referred to by its definition.  Such loops
  366.      are detected, and cause an error message.
  367.  
  368.    IIII////OOOO RRRReeeeddddiiiirrrreeeeccccttttiiiioooonnnn
  369.      The following metacharacters indicate that the subsequent word is the
  370.      name of a file to which the command's standard input, standard output, or
  371.      standard error is redirected; this word is variable, command, and
  372.      filename expanded separately from the rest of the command.
  373.  
  374.      _<<<<         Redirect the standard input.
  375.  
  376.      _<<<<_<<<<_w_o_r_d    Read the standard input, up to a line that is identical with
  377.                _w_o_r_d, and place the resulting lines in a temporary file.
  378.                Unless _w_o_r_d is escaped or quoted, variable and command
  379.                substitutions are performed on these lines.  Then, invoke the
  380.                pipeline with the temporary file as its standard input.  _w_o_r_d
  381.                is not subjected to variable, filename, or command
  382.                substitution, and each line is compared to it before any
  383.                substitutions are performed by the shell.
  384.  
  385.      _>>>>   _>>>>_!!!!   _>>>>_&&&&   _>>>>_&&&&_!!!!
  386.                Redirect the standard output to a file.  If the file does not
  387.                exist, it is created.  If it does exist, it is overwritten; its
  388.                previous contents are lost.
  389.  
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  401.  
  402.  
  403.  
  404.                When set, the variable _nnnn_oooo_cccc_llll_oooo_bbbb_bbbb_eeee_rrrr prevents destruction of
  405.                existing files.  It also prevents redirection to terminals and
  406.                _////_dddd_eeee_vvvv_////_nnnn_uuuu_llll_llll, unless one of the _!!!! forms is used.  The _&&&& forms
  407.                redirect both standard output and the standard error
  408.                (diagnostic output) to the file.
  409.  
  410.      _>>>>_>>>>   _>>>>_>>>>_&&&&   _>>>>_>>>>_!!!!   _>>>>_>>>>_&&&&_!!!!
  411.                Append the standard output.  Like _>>>>, but places output at the
  412.                end of the file rather than overwriting it.  If _nnnn_oooo_cccc_llll_oooo_bbbb_bbbb_eeee_rrrr is
  413.                set, it is an error for the file not to exist, unless one of
  414.                the _!!!! forms is used.  The _&&&& forms append both the standard
  415.                error and standard output to the file.
  416.  
  417.    VVVVaaaarrrriiiiaaaabbbblllleeee SSSSuuuubbbbssssttttiiiittttuuuuttttiiiioooonnnn
  418.      The C shell maintains a set of _v_a_r_i_a_b_l_e_s, each of which is composed of a
  419.      _n_a_m_e and a _v_a_l_u_e.  A variable name consists of up to 20 letters and
  420.      digits, and starts with a letter (the underscore is considered a letter).
  421.      A variable's value is a space-separated list of zero or more words.
  422.  
  423.      To refer to a variable's value, precede its name with a `_$$$$'.  Certain
  424.      references (described below) can be used to select specific words from
  425.      the value, or to display other information about the variable.  Braces
  426.      can be used to insulate the reference from other characters in an input-
  427.      line word.
  428.  
  429.      Variable substitution takes place after the input line is analyzed,
  430.      aliases are resolved, and I/O redirections are applied.  Exceptions to
  431.      this are variable references in I/O redirections (substituted at the time
  432.      the redirection is made), and backquoted strings (see Command
  433.      Substitution).
  434.  
  435.      Variable substitution can be suppressed by preceding the _$$$$ with a _\\\\,
  436.      except within double-quotes where it always occurs.  Variable
  437.      substitution is suppressed inside of single-quotes.  A _$$$$ is escaped if
  438.      followed by a space character, tab or newline.
  439.  
  440.      Variables can be created, displayed, or destroyed using the _ssss_eeee_tttt and _uuuu_nnnn_ssss_eeee_tttt
  441.      commands.  Some variables are maintained or used by the shell.  For
  442.      instance, the _aaaa_rrrr_gggg_vvvv variable contains an image of the shell's argument
  443.      list.  Of the variables used by the shell, a number are toggles; the
  444.      shell does not care what their value is, only whether they are set or
  445.      not.
  446.  
  447.      Numerical values can be operated on as numbers (as with the _@@@@ built-in).
  448.      With numeric operations, an empty value is considered to be zero; the
  449.      second and subsequent words of multiword values are ignored.  For
  450.      instance, when the _vvvv_eeee_rrrr_bbbb_oooo_ssss_eeee variable is set to any value (including an
  451.      empty value), command input is echoed on the terminal.
  452.  
  453.      Command and filename substitution is subsequently applied to the words
  454.      that result from the variable substitution, except when suppressed by
  455.      double-quotes, when _nnnn_oooo_gggg_llll_oooo_bbbb is set (suppressing filename substitution), or
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  467.  
  468.  
  469.  
  470.      when the reference is quoted with the _::::_qqqq modifier.  Within double-quotes,
  471.      a reference is expanded to form (a portion of) a quoted string; multiword
  472.      values are expanded to a string with embedded space characters.  When the
  473.      _::::_qqqq modifier is applied to the reference, it is expanded to a list of
  474.      space-separated words, each of which is quoted to prevent subsequent
  475.      command or filename substitutions.
  476.  
  477.      Except as noted below, it is an error to refer to a variable that is not
  478.      set.
  479.  
  480.      _$$$$_v_a_r
  481.      _$$$$_{{{{_v_a_r_}}}}         These are replaced by words from the value of _v_a_r, each
  482.                     separated by a space character.  If _v_a_r is an environment
  483.                     variable, its value is returned (but `_::::'  modifiers and
  484.                     the other forms given below are not available).
  485.  
  486.      _$$$$_v_a_r[_i_n_d_e_x]
  487.      _$$$$_{{{{_v_a_r_[[[[_i_n_d_e_x_]]]]_}}}}  These select only the indicated words from the value of
  488.                     _v_a_r.  Variable substitution is applied to _i_n_d_e_x, which can
  489.                     consist of (or result in) a either single number, two
  490.                     numbers separated by a `_----', or an asterisk.  Words are
  491.                     indexed starting from 1; a `_****' selects all words.  If the
  492.                     first number of a range is omitted (as with _$$$$_aaaa_rrrr_gggg_vvvv_[[[[_----_2222_]]]]), it
  493.                     defaults to 1.  If the last number of a range is omitted
  494.                     (as with _$$$$_aaaa_rrrr_gggg_vvvv_[[[[_1111_----_]]]]), it defaults to _$$$$_####_v_a_r (the word
  495.                     count).  It is not an error for a range to be empty if the
  496.                     second argument is omitted (or within range).
  497.  
  498.      _$$$$_####_n_a_m_e
  499.      _$$$$_{{{{_####_n_a_m_e_}}}}       These give the number of words in the variable.
  500.  
  501.      _$$$$_0000             This substitutes the name of the file from which command
  502.                     input is being read.  An error occurs if the name is not
  503.                     known.
  504.  
  505.      _$$$$_n
  506.      _$$$$_{{{{_n_}}}}           Equivalent to _$$$$_aaaa_rrrr_gggg_vvvv_[[[[_n_]]]].
  507.  
  508.      _$$$$_****             Equivalent to _$$$$_aaaa_rrrr_gggg_vvvv_[[[[_****_]]]].
  509.  
  510.      The modifiers _::::_eeee, _::::_hhhh, _::::_qqqq, _::::_rrrr, _::::_tttt and _::::_xxxx can be applied (see _HHHH_iiii_ssss_tttt_oooo_rrrr_yyyy
  511.      _SSSS_uuuu_bbbb_ssss_tttt_iiii_tttt_uuuu_tttt_iiii_oooo_nnnn), as can _::::_gggg_hhhh, _::::_gggg_tttt and _::::_gggg_rrrr.  If _{{{{_}}}} (braces) are used, then
  512.      the modifiers must appear within the braces.  The current implementation
  513.      allows only one such modifier per expansion.
  514.  
  515.      The following references cannot be modified with _:::: modifiers.
  516.  
  517.      _$$$$_????_v_a_r
  518.      _$$$$_{{{{_????_v_a_r_}}}}   Substitutes the string 1 if _v_a_r is set or 0 if it is not set.
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  533.  
  534.  
  535.  
  536.      _$$$$_????_0000       Substitutes 1 if the current input filename is known, or 0 if
  537.                it is not.
  538.  
  539.      _$$$$_$$$$        Substitute the process number of the (parent) shell.
  540.  
  541.      _$$$$_<<<<        Substitutes a line from the standard input, with no further
  542.                interpretation thereafter.  It can be used to read from the
  543.                keyboard in a C shell script.
  544.  
  545.    CCCCoooommmmmmmmaaaannnndddd aaaannnndddd FFFFiiiilllleeeennnnaaaammmmeeee SSSSuuuubbbbssssttttiiiittttuuuuttttiiiioooonnnnssss
  546.      Command and filename substitutions are applied selectively to the
  547.      arguments of built-in commands.  Portions of expressions that are not
  548.      evaluated are not expanded.  For non-built-in commands, filename
  549.      expansion of the command name is done separately from that of the
  550.      argument list; expansion occurs in a subshell, after I/O redirection is
  551.      performed.
  552.  
  553.    CCCCoooommmmmmmmaaaannnndddd SSSSuuuubbbbssssttttiiiittttuuuuttttiiiioooonnnn
  554.      A command enclosed by backquotes (_````..._````) is performed by a subshell.  Its
  555.      standard output is broken into separate words at each space character,
  556.      tab and newline; null words are discarded.  This text replaces the
  557.      backquoted string on the current command line.  Within double-quotes,
  558.      only newline characters force new words; space and tab characters are
  559.      preserved.  However, a final newline is ignored.  It is therefore
  560.      possible for a command substitution to yield a partial word.
  561.  
  562.    FFFFiiiilllleeeennnnaaaammmmeeee SSSSuuuubbbbssssttttiiiittttuuuuttttiiiioooonnnn
  563.      Unquoted words containing any of the characters _****, _????, _[[[[ or _{{{{, or that
  564.      begin with _~~~~, are expanded (also known as _g_l_o_b_b_i_n_g) to an alphabetically
  565.      sorted list of filenames, as follows:
  566.  
  567.      _****              Match any (zero or more) characters.
  568.  
  569.      _????              Match any single character.
  570.  
  571.      _[[[[ ... _]]]]        Match any single character in the enclosed list(s) or
  572.                     range(s).  A list is a string of characters.  A range is
  573.                     two characters separated by a minus-sign (_----), and includes
  574.                     all the characters in between in the ASCII collating
  575.                     sequence (see _aaaa_ssss_cccc_iiii_iiii(5)).
  576.  
  577.      _{{{{ _s_t_r_,,,, _s_t_r_,,,, ... _}}}}
  578.                     Expand to each string (or filename-matching pattern) in
  579.                     the comma-separated list.  Unlike the pattern-matching
  580.                     expressions above, the expansion of this construct is not
  581.                     sorted.  For instance, _{{{{_bbbb_,,,,_aaaa_}}}} expands to `_bbbb' `_aaaa', (not `_aaaa'
  582.                     `_bbbb').  As special cases, the characters _{{{{ and _}}}}, along
  583.                     with the string _{{{{_}}}}, are passed undisturbed.
  584.  
  585.      _~~~~[ _u_s_e_r ]      Your home directory, as indicated by the value of the
  586.                     variable _hhhh_oooo_mmmm_eeee, or that of _u_s_e_r, as indicated by the
  587.                     password entry for _u_s_e_r.
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  599.  
  600.  
  601.  
  602.      Only the patterns _****, _????  and _[[[[..._]]]]  imply pattern matching; an error
  603.      results if no filename matches a pattern that contains them.  The `_....'
  604.      (dot character), when it is the first character in a filename or pathname
  605.      component, must be matched explicitly.  The _//// (slash) must also be
  606.      matched explicitly.
  607.  
  608.    EEEExxxxpppprrrreeeessssssssiiiioooonnnnssss aaaannnndddd OOOOppppeeeerrrraaaattttoooorrrrssss
  609.      A number of C shell built-in commands accept expressions, in which the
  610.      operators are similar to those of C and have the same precedence.  These
  611.      expressions typically appear in the _@@@@, _eeee_xxxx_iiii_tttt, _iiii_ffff, _ssss_eeee_tttt and _wwww_hhhh_iiii_llll_eeee commands,
  612.      and are often used to regulate the flow of control for executing
  613.      commands.  Components of an expression are separated by white space.
  614.  
  615.      Null or missing values are considered 0.  The result of all expressions
  616.      are strings, which can represent decimal numbers.
  617.  
  618.      The following C shell operators are grouped in order of precedence:
  619.  
  620.      _((((..._))))               grouping
  621.      _~~~~                   one's complement
  622.      _!!!!                   logical negation
  623.      _****   _////   _%%%%           multiplication, division, remainder (These are right
  624.                          associative, which can lead to unexpected results.
  625.                          Group combinations explicitly with parentheses.)
  626.      _++++   _----               addition, subtraction (also right associative)
  627.      _<<<<_<<<<   _>>>>_>>>>             bitwise shift left, bitwise shift right
  628.      _<<<<   _>>>>   _<<<<_====   _>>>>_====     less than, greater than, less than or equal to,
  629.                          greater than or equal to
  630.      _====_====   _!!!!_====   _====_~~~~   _!!!!_~~~~   equal to, not equal to, filename-substitution pattern
  631.                          match (described below), filename-substitution
  632.                          pattern mismatch
  633.      _&&&&                   bitwise AND
  634.      _^^^^                   bitwise XOR (exclusive or)
  635.      _||||                   bitwise inclusive OR
  636.      _&&&&_&&&&                  logical AND
  637.      _||||_||||                  logical OR
  638.  
  639.      The operators:  _====_====, _!!!!_====, _====_~~~~, and _!!!!_~~~~ compare their arguments as strings;
  640.      other operators use numbers.  The operators _====_~~~~ and _!!!!_~~~~ each check whether
  641.      or not a string to the left matches a filename substitution pattern on
  642.      the right.  This reduces the need for _ssss_wwww_iiii_tttt_cccc_hhhh statements when pattern-
  643.      matching between strings is all that is required.
  644.  
  645.      Also available are file inquiries:
  646.  
  647.      _----_rrrr _f_i_l_e   Return true, or 1 if the user has read access.  Otherwise it
  648.                returns false, or 0.
  649.      _----_wwww _f_i_l_e   True if the user has write access.
  650.      _----_xxxx _f_i_l_e   True if the user has execute permission (or search permission
  651.                on a directory).
  652.  
  653.  
  654.  
  655.  
  656.  
  657.                                                                        PPPPaaaaggggeeee 11110000
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  665.  
  666.  
  667.  
  668.      _----_eeee _f_i_l_e   True if _f_i_l_e exists.
  669.      _----_oooo _f_i_l_e   True if the user owns _f_i_l_e.
  670.      _----_zzzz _f_i_l_e   True if _f_i_l_e is of zero length (empty).
  671.      _----_ffff _f_i_l_e   True if _f_i_l_e is a plain file.
  672.      _----_dddd _f_i_l_e   True if _f_i_l_e is a directory.
  673.      _----_llll _f_i_l_e   True if _f_i_l_e is a symbolic link.
  674.      _----_cccc _f_i_l_e   True if _f_i_l_e is a character special file.
  675.      _----_bbbb _f_i_l_e   True if _f_i_l_e is a block special file.
  676.      _----_pppp _f_i_l_e   True if _f_i_l_e is a named pipe (fifo).
  677.      _----_uuuu _f_i_l_e   True if _f_i_l_e has the set-user-ID permission bit set (see
  678.                _c_h_m_o_d(1)).
  679.      _----_gggg _f_i_l_e   True if _f_i_l_e has the set-group-ID permission bit set (see
  680.                _c_h_m_o_d(1)).
  681.      _----_kkkk _f_i_l_e   True if _f_i_l_e has the sticky bit set (see _c_h_m_o_d(1)).
  682.      _----_ssss _f_i_l_e   True if _f_i_l_e has size strictly greater than zero.
  683.      _----_tttt _f_i_l_e   True if _f_i_l_e is an open file descriptor for a terminal device.
  684.  
  685.      If _f_i_l_e does not exist or is inaccessible, then all inquiries return
  686.      false.
  687.  
  688.      An inquiry as to the success of a command is also available:
  689.  
  690.      _{{{{ _c_o_m_m_a_n_d _}}}}    If _c_o_m_m_a_n_d runs successfully, the expression evaluates to
  691.                     true, 1.  Otherwise it evaluates to false 0.  (Note that,
  692.                     conversely, _c_o_m_m_a_n_d itself typically returns 0 when it
  693.                     runs successfully, or some other value if it encounters a
  694.                     problem.  If you want to get at the status directly, use
  695.                     the value of the _ssss_tttt_aaaa_tttt_uuuu_ssss variable rather than this
  696.                     expression).
  697.  
  698.    CCCCoooonnnnttttrrrroooollll FFFFlllloooowwww
  699.      The shell contains a number of commands to regulate the flow of control
  700.      in scripts, and within limits, from the terminal.  These commands operate
  701.      by forcing the shell either to reread input (to _l_o_o_p), or to skip input
  702.      under certain conditions (to _b_r_a_n_c_h).
  703.  
  704.      Each occurrence of a _ffff_oooo_rrrr_eeee_aaaa_cccc_hhhh, _ssss_wwww_iiii_tttt_cccc_hhhh, _wwww_hhhh_iiii_llll_eeee, _iiii_ffff..._tttt_hhhh_eeee_nnnn and _eeee_llll_ssss_eeee built-in
  705.      must appear as the first word on its own input line.
  706.  
  707.      If the shell's input is not seekable and a loop is being read, that input
  708.      is buffered.  The shell performs seeks within the internal buffer to
  709.      accomplish the rereading implied by the loop.  (To the extent that this
  710.      allows, backward _gggg_oooo_tttt_oooo commands succeed on nonseekable inputs.)
  711.  
  712.    CCCCoooommmmmmmmaaaannnndddd EEEExxxxeeeeccccuuuuttttiiiioooonnnn
  713.      If the command is a C shell built-in, the shell executes it directly.
  714.      Otherwise, the shell searches for a file by that name with execute
  715.      access.  If the command-name contains a _////, the shell takes it as a
  716.      pathname, and searches for it.  If the command-name does not contain a _////,
  717.      the shell attempts to resolve it to a pathname, searching each directory
  718.      in the _pppp_aaaa_tttt_hhhh variable for the command.  To speed the search, the shell
  719.      uses its hash table (see the _rrrr_eeee_hhhh_aaaa_ssss_hhhh built-in) to eliminate directories
  720.  
  721.  
  722.  
  723.                                                                        PPPPaaaaggggeeee 11111111
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  731.  
  732.  
  733.  
  734.      that have no applicable files.  This hashing can be disabled with the _----_cccc
  735.      or _----_tttt, options, or the _uuuu_nnnn_hhhh_aaaa_ssss_hhhh built-in.
  736.  
  737.      As a special case, if there is no _//// in the name of the script and there
  738.      is an alias for the word _ssss_hhhh_eeee_llll_llll, the expansion of the _ssss_hhhh_eeee_llll_llll alias is
  739.      prepended (without modification), to the command line.  The system
  740.      attempts to execute the first word of this special (late-occurring)
  741.      alias, which should be a full pathname.  Remaining words of the alias's
  742.      definition, along with the text of the input line, are treated as
  743.      arguments.
  744.  
  745.      When a pathname is found that has proper execute permissions, the shell
  746.      forks a new process and passes it, along with its arguments to the kernel
  747.      (using the _eeee_xxxx_eeee_cccc_vvvv_eeee(2) system call).  The kernel then attempts to overlay
  748.      the new process with the desired program.  If the file is an executable
  749.      binary (in _aaaa_...._oooo_uuuu_tttt(4) format) the kernel succeeds, and begins executing the
  750.      new process.  If the file is a text file, and the first line begins with
  751.      _####_!!!!, the next word is taken to be the pathname of a shell (or command) to
  752.      interpret that script.  Subsequent words on the first line are taken as
  753.      options for that shell.  The kernel invokes (overlays) the indicated
  754.      shell, using the name of the script as an argument.
  755.  
  756.      If neither of the above conditions holds, the kernel cannot overlay the
  757.      file (the _eeee_xxxx_eeee_cccc_vvvv_eeee(2) call fails); the C shell then attempts to execute the
  758.      file by spawning a new shell, as follows:
  759.  
  760.      +o  If the first character of the file is a _####, a C shell is invoked.
  761.  
  762.      +o  Otherwise, a standard (Bourne) shell is invoked.
  763.  
  764.    SSSSiiiiggggnnnnaaaallll HHHHaaaannnnddddlllliiiinnnngggg
  765.      The shell normally ignores QUIT signals.  Background jobs are immune to
  766.      signals generated from the keyboard, including hangups (HUP).  Other
  767.      signals have the values that the C shell inherited from its environment.
  768.      The shell's handling of interrupt and terminate signals within scripts
  769.      can be controlled by the _oooo_nnnn_iiii_nnnn_tttt_rrrr built-in.  Login shells catch the TERM
  770.      signal; otherwise this signal is passed on to child processes.  In no
  771.      case are interrupts allowed when a login shell is reading the _...._llll_oooo_gggg_oooo_uuuu_tttt
  772.      file.
  773.  
  774.    JJJJoooobbbb CCCCoooonnnnttttrrrroooollll
  775.      The shell associates a numbered _j_o_b with each command sequence, to keep
  776.      track of those commands that are running in the background or have been
  777.      stopped with TSTP signals (typically <Ctrl-z>).  When a command, or
  778.      command sequence (semicolon separated list), is started in the background
  779.      using the _&&&& metacharacter, the shell displays a line with the job number
  780.      in brackets, and a list of associated process numbers:
  781.  
  782.           _[[[[_1111_]]]] _1111_2222_3333_4444
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.                                                                        PPPPaaaaggggeeee 11112222
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  797.  
  798.  
  799.  
  800.      To see the current list of jobs, use the _jjjj_oooo_bbbb_ssss built-in command.  The job
  801.      most recently stopped (or put into the background if none are stopped) is
  802.      referred to as the _c_u_r_r_e_n_t job, and is indicated with a `_++++'.  The
  803.      previous job is indicated with a `_----'; when the current job is terminated
  804.      or moved to the foreground, this job takes its place (becomes the new
  805.      current job).
  806.  
  807.      To manipulate jobs, refer to the _bbbb_gggg, _ffff_gggg, _kkkk_iiii_llll_llll, _ssss_tttt_oooo_pppp and _%%%% built-ins.
  808.  
  809.      A reference to a job begins with a `_%%%%'.  By itself, the percent-sign
  810.      refers to the current job.
  811.  
  812.      _%%%%   _%%%%_++++   _%%%%_%%%%    The current job.
  813.  
  814.      _%%%%_----             The previous job.
  815.  
  816.      _%%%%_j             Refer to job _j as in:  `_kkkk_iiii_llll_llll _----_9999 _%%%%_j'.  _j can be a job
  817.                     number, or a string that uniquely specifies the command
  818.                     line by which it was started; `_ffff_gggg _%%%%_vvvv_iiii' might bring a
  819.                     stopped _vvvv_iiii job to the foreground, for instance.
  820.  
  821.      _%%%%_????_s_t_r_i_n_g       Specify the job for which the command line uniquely
  822.                     contains _s_t_r_i_n_g.
  823.  
  824.      A job running in the background stops when it attempts to read from the
  825.      terminal.  Background jobs can normally produce output, but this can be
  826.      suppressed using the `_ssss_tttt_tttt_yyyy _tttt_oooo_ssss_tttt_oooo_pppp' command.
  827.  
  828.    SSSSttttaaaattttuuuussss RRRReeeeppppoooorrrrttttiiiinnnngggg
  829.      While running interactively, the shell tracks the status of each job and
  830.      reports whenever a finishes or becomes blocked.  It normally displays a
  831.      message to this effect as it issues a prompt, so as to avoid disturbing
  832.      the appearance of your input.  When set, the _nnnn_oooo_tttt_iiii_ffff_yyyy variable indicates
  833.      that the shell is to report status changes immediately.  By default, the
  834.      _nnnn_oooo_tttt_iiii_ffff_yyyy command marks the current process; after starting a background
  835.      job, type _nnnn_oooo_tttt_iiii_ffff_yyyy to mark it.
  836.  
  837.    BBBBuuuuiiiilllltttt----IIIInnnn CCCCoooommmmmmmmaaaannnnddddssss
  838.      Built-in commands are executed within the C shell.  If a built-in command
  839.      occurs as any component of a pipeline except the last, it is executed in
  840.      a subshell.
  841.  
  842.      _::::              Null command.  This command is interpreted, but performs
  843.                     no action.
  844.  
  845.      _aaaa_llll_iiii_aaaa_ssss [ _n_a_m_e [ _d_e_f ] ]
  846.                     Assign _d_e_f to the alias _n_a_m_e.  _d_e_f is a list of words that
  847.                     can contain escaped history-substitution metasyntax.  _n_a_m_e
  848.                     is not allowed to be _aaaa_llll_iiii_aaaa_ssss or _uuuu_nnnn_aaaa_llll_iiii_aaaa_ssss.  If _d_e_f is omitted,
  849.                     the alias _n_a_m_e is displayed along with its current
  850.                     definition.  If both _n_a_m_e and _d_e_f are omitted, all aliases
  851.                     are displayed.
  852.  
  853.  
  854.  
  855.                                                                        PPPPaaaaggggeeee 11113333
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  863.  
  864.  
  865.  
  866.      _bbbb_gggg [_%%%%          Run the current or specified jobs in the background.
  867.  
  868.      _bbbb_rrrr_eeee_aaaa_kkkk          Resume execution after the _eeee_nnnn_dddd of the nearest enclosing
  869.                     _ffff_oooo_rrrr_eeee_aaaa_cccc_hhhh or _wwww_hhhh_iiii_llll_eeee loop.  The remaining commands on the
  870.                     current line are executed.  This allows multilevel breaks
  871.                     to be written as a list of _bbbb_rrrr_eeee_aaaa_kkkk commands, all on one
  872.                     line.
  873.  
  874.      _bbbb_rrrr_eeee_aaaa_kkkk_ssss_wwww        Break from a _ssss_wwww_iiii_tttt_cccc_hhhh, resuming after the _eeee_nnnn_dddd_ssss_wwww.
  875.  
  876.      _cccc_aaaa_ssss_eeee _l_a_b_e_l_::::    A label in a _ssss_wwww_iiii_tttt_cccc_hhhh statement.
  877.  
  878.      _cccc_dddd [ _d_i_r ]
  879.      _cccc_hhhh_dddd_iiii_rrrr [ _d_i_r ]  Change the shell's working directory to directory _d_i_r.  If
  880.                     no argument is given, change to the home directory of the
  881.                     user.  If _d_i_r is a relative pathname not found in the
  882.                     current directory, check for it in those directories
  883.                     listed in the _cccc_dddd_pppp_aaaa_tttt_hhhh variable.  If _d_i_r is the name of a
  884.                     shell variable whose value starts with a _////, change to the
  885.                     directory named by that value.
  886.  
  887.      _cccc_oooo_nnnn_tttt_iiii_nnnn_uuuu_eeee       Continue execution of the nearest enclosing _wwww_hhhh_iiii_llll_eeee or
  888.                     _ffff_oooo_rrrr_eeee_aaaa_cccc_hhhh.
  889.  
  890.      _dddd_eeee_ffff_aaaa_uuuu_llll_tttt_::::       Labels the default case in a _ssss_wwww_iiii_tttt_cccc_hhhh statement.  The
  891.                     default should come after all _cccc_aaaa_ssss_eeee labels.  Any remaining
  892.                     commands on the command line are first executed.
  893.  
  894.      _dddd_iiii_rrrr_ssss [ _----_llll ]    Print the directory stack, most recent to the left; the
  895.                     first directory shown is the current directory.  With the
  896.                     _----_llll argument, produce an unabbreviated printout; use of the
  897.                     _~~~~ notation is suppressed.
  898.  
  899.      _eeee_cccc_hhhh_oooo [ _----_nnnn ] _l_i_s_t
  900.                     The words in _l_i_s_t are written to the shell's standard
  901.                     output, separated by space characters.  The output is
  902.                     terminated with a newline unless the _----_nnnn option or the _\\\\_cccc
  903.                     escape is specified.  The following C-like escape
  904.                     sequences are available:
  905.  
  906.                     _\\\\_bbbb   backspace
  907.                     _\\\\_cccc   print line without newline
  908.                     _\\\\_ffff   formfeed
  909.                     _\\\\_nnnn   newline
  910.                     _\\\\_rrrr   carriage return
  911.                     _\\\\_tttt   tab
  912.                     _\\\\_\\\\   backslash
  913.                     _\\\\_0_n  the 8-bit character whose code is the 1-, 2- or 3-
  914.                          digit octal number _n.  Note that _\\\\_n (no leading zero)
  915.                          is accepted for backwards compatibility with older
  916.                          IRIX cshs.  This can cause unexpected results in
  917.                          older scripts if the character immediately trailing
  918.  
  919.  
  920.  
  921.                                                                        PPPPaaaaggggeeee 11114444
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  929.  
  930.  
  931.  
  932.                          three digits is also numeric.
  933.  
  934.      _eeee_vvvv_aaaa_llll  _a_r_g_u_m_e_n_t ...
  935.                     Reads the arguments as input to the shell, and executes
  936.                     the resulting command(s).  This is usually used to execute
  937.                     commands generated as the result of command or variable
  938.                     substitution, since parsing occurs before these
  939.                     substitutions.  See _tttt_ssss_eeee_tttt(1) for an example of how to use
  940.                     _eeee_vvvv_aaaa_llll.
  941.  
  942.      _eeee_xxxx_eeee_cccc _c_o_m_m_a_n_d   Execute _c_o_m_m_a_n_d in place of the current shell, which
  943.                     terminates.
  944.  
  945.      _eeee_xxxx_iiii_tttt [ _((((_e_x_p_r_)))) ]
  946.                     The shell exits, either with the value of the STATUS
  947.                     variable, or with the value specified by the expression
  948.                     _eeee_xxxx_pppp_rrrr.
  949.  
  950.      _ffff_gggg _%%%% [ _j_o_b ]   Bring the current or specified _j_o_b into the foreground.
  951.  
  952.      _ffff_oooo_rrrr_eeee_aaaa_cccc_hhhh _v_a_r _((((_w_o_r_d_l_i_s_t_))))
  953.      ...
  954.      _eeee_nnnn_dddd            The variable _v_a_r is successively set to each member of
  955.                     _w_o_r_d_l_i_s_t.  The sequence of commands between this command
  956.                     and the matching _eeee_nnnn_dddd is executed for each new value of
  957.                     _v_a_r.  (Both _ffff_oooo_rrrr_eeee_aaaa_cccc_hhhh and _eeee_nnnn_dddd must appear alone on separate
  958.                     lines.)
  959.  
  960.                     The built-in command _cccc_oooo_nnnn_tttt_iiii_nnnn_uuuu_eeee can be used to continue the
  961.                     loop prematurely and the built-in command _bbbb_rrrr_eeee_aaaa_kkkk to
  962.                     terminate it prematurely.  When this command is read from
  963.                     the terminal, the loop is read up once prompting with _????
  964.                     before any statements in the loop are executed.
  965.  
  966.      _gggg_llll_oooo_bbbb _w_o_r_d_l_i_s_t  Perform filename expansion on _w_o_r_d_l_i_s_t.  Like _eeee_cccc_hhhh_oooo, but no
  967.                     _\\\\ escapes are recognized.  Words are delimited by _NNNN_UUUU_LLLL_LLLL
  968.                     characters in the output.
  969.  
  970.      _gggg_oooo_tttt_oooo _l_a_b_e_l     The specified _l_a_b_e_l is filename and command expanded to
  971.                     yield a label.  The shell rewinds its input as much as
  972.                     possible and searches for a line of the form _l_a_b_e_l_::::
  973.                     possibly preceded by space or tab characters.  Execution
  974.                     continues after the indicated line.  It is an error to
  975.                     jump to a label that occurs between a _wwww_hhhh_iiii_llll_eeee or _ffff_oooo_rrrr built-
  976.                     in, and its corresponding _eeee_nnnn_dddd.
  977.  
  978.      _hhhh_iiii_ssss_tttt_oooo_rrrr_yyyy [ _----_hhhh_rrrr ] [ _n ]
  979.                     Display the history list; if _n is given, display only the
  980.                     _n most recent events.
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.                                                                        PPPPaaaaggggeeee 11115555
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  995.  
  996.  
  997.  
  998.                     _----_rrrr   Reverse the order of printout to be most recent first
  999.                          rather than oldest first.
  1000.                     _----_hhhh   Display the history list without leading numbers.
  1001.                          This is used to produce files suitable for sourcing
  1002.                          using the _----_hhhh option to _s_o_u_r_c_e.
  1003.  
  1004.      _iiii_ffff _((((_e_x_p_r_)))) _c_o_m_m_a_n_d
  1005.                     If the specified expression evaluates to true, the single
  1006.                     _c_o_m_m_a_n_d with arguments is executed.  Variable substitution
  1007.                     on _c_o_m_m_a_n_d happens early, at the same time it does for the
  1008.                     rest of the _i_f command.  _c_o_m_m_a_n_d must be a simple command,
  1009.                     not a pipeline, a command list, or a parenthesized command
  1010.                     list.  Note: I/O redirection occurs even if _eeee_xxxx_pppp_rrrr is false,
  1011.                     when _c_o_m_m_a_n_d is _n_o_t executed (this is a bug).
  1012.  
  1013.      _iiii_ffff _((((_e_x_p_r_)))) _tttt_hhhh_eeee_nnnn
  1014.      ...
  1015.      _eeee_llll_ssss_eeee _iiii_ffff _((((_e_x_p_r_2_)))) _tttt_hhhh_eeee_nnnn
  1016.      ...
  1017.      _eeee_llll_ssss_eeee
  1018.      ...
  1019.      _eeee_nnnn_dddd_iiii_ffff          If _eeee_xxxx_pppp_rrrr"" is true, commands up to the first _eeee_llll_ssss_eeee are
  1020.                     executed.  Otherwise, if _e_x_p_r_2 is true, the commands
  1021.                     between the _eeee_llll_ssss_eeee _iiii_ffff and the second _eeee_llll_ssss_eeee are executed.
  1022.                     Otherwise, commands between the _eeee_llll_ssss_eeee and the _eeee_nnnn_dddd_iiii_ffff are
  1023.                     executed.  Any number of _eeee_llll_ssss_eeee _iiii_ffff pairs are allowed, but
  1024.                     only one _eeee_llll_ssss_eeee.  Only one _eeee_nnnn_dddd_iiii_ffff is needed, but it is
  1025.                     required.  The words _eeee_llll_ssss_eeee and _eeee_nnnn_dddd_iiii_ffff must be the first
  1026.                     nonwhite characters on a line.  The _iiii_ffff must appear alone
  1027.                     on its input line or after an _eeee_llll_ssss_eeee.)
  1028.  
  1029.      _jjjj_oooo_bbbb_ssss [ _----_llll ]    List the active jobs under job control.
  1030.  
  1031.                     _----_llll   List process IDs, in addition to the normal
  1032.                          information.
  1033.  
  1034.      _kkkk_iiii_llll_llll [ _----_s_i_g ] [ _p_i_d ] [ _%%%%_j_o_b ] ...
  1035.      _kkkk_iiii_llll_llll _----_llll        Send the TERM (terminate) signal, by default, or the
  1036.                     signal specified, to the specified process ID, the _j_o_b
  1037.                     indicated, or the current _j_o_b.  Signals are either given
  1038.                     by number or by name.  There is no default.  Typing _kkkk_iiii_llll_llll
  1039.                     does not send a signal to the current job.  If the signal
  1040.                     being sent is TERM (terminate) or HUP (hangup), then the
  1041.                     job or process is sent a CONT (continue) signal as well.
  1042.  
  1043.                     _----_llll   List the signal names that can be sent.
  1044.  
  1045.      _llll_iiii_mmmm_iiii_tttt [ _----_hhhh ] [ _r_e_s_o_u_r_c_e [ _m_a_x-_u_s_e ] ]
  1046.                     Limit the consumption by the current process or any
  1047.                     process it spawns, each not to exceed _m_a_x-_u_s_e on the
  1048.                     specified _r_e_s_o_u_r_c_e.  If _m_a_x-_u_s_e is omitted, print the
  1049.                     current limit; if _r_e_s_o_u_r_c_e is omitted, display all limits.
  1050.  
  1051.  
  1052.  
  1053.                                                                        PPPPaaaaggggeeee 11116666
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  1061.  
  1062.  
  1063.  
  1064.                     _----_hhhh   Use hard limits instead of the current limits.  Hard
  1065.                          limits impose a ceiling on the values of the current
  1066.                          limits.  Only the privileged user can raise the hard
  1067.                          limits.
  1068.  
  1069.                     _r_e_s_o_u_r_c_e is one of:
  1070.  
  1071.                     _cccc_pppp_uuuu_tttt_iiii_mmmm_eeee        Maximum CPU seconds per process.
  1072.                     _ffff_iiii_llll_eeee_ssss_iiii_zzzz_eeee       Largest single file allowed.
  1073.                     _dddd_aaaa_tttt_aaaa_ssss_iiii_zzzz_eeee       Maximum data size (including stack) for the
  1074.                                    process.
  1075.                     _ssss_tttt_aaaa_cccc_kkkk_ssss_iiii_zzzz_eeee      Maximum stack size for the process.  Note:
  1076.                                    If this is set too high, _ssss_pppp_rrrr_oooo_cccc(2) may fail.
  1077.                     _cccc_oooo_rrrr_eeee_dddd_uuuu_mmmm_pppp_ssss_iiii_zzzz_eeee   Maximum size of a core dump (file).
  1078.                     _mmmm_eeee_mmmm_oooo_rrrr_yyyy_uuuu_ssss_eeee      Maximum amount of physical memory per
  1079.                                    process (resident set size).
  1080.                     _vvvv_mmmm_eeee_mmmm_oooo_rrrr_yyyy_uuuu_ssss_eeee     Maximum amount of virtual memory per
  1081.                                    process, including text, data, heap, shared
  1082.                                    memory, mapped files, stack, etc..
  1083.                     _dddd_eeee_ssss_cccc_rrrr_iiii_pppp_tttt_oooo_rrrr_ssss    Maximum number of open file descriptors per
  1084.                                    process.
  1085.                     _tttt_hhhh_rrrr_eeee_aaaa_dddd_ssss        Maximum number of _pppp_tttt_hhhh_rrrr_eeee_aaaa_dddd_ssss(5) which may be
  1086.                                    created.
  1087.  
  1088.                     _m_a_x-_u_s_e is a number, with an optional scaling factor, as
  1089.                     follows:
  1090.  
  1091.                     _n_hhhh        Hours (for _cccc_pppp_uuuu_tttt_iiii_mmmm_eeee).
  1092.                     _n_kkkk        _n kilobytes.  This is the default for all file
  1093.                               or memory size limits.
  1094.                     _n_mmmm        _n megabytes or minutes (for _cccc_pppp_uuuu_tttt_iiii_mmmm_eeee).
  1095.                     _m_m_::::_s_s     Minutes and seconds (for _cccc_pppp_uuuu_tttt_iiii_mmmm_eeee).
  1096.  
  1097.                     The _r_e_s_o_u_r_c_e argument can be abbreviated by using only
  1098.                     enough characters to make the name unambiguous.  Refer to
  1099.                     the _ssss_eeee_tttt_rrrr_llll_iiii_mmmm_iiii_tttt(2) manual entry for more information about
  1100.                     process resource limits.
  1101.  
  1102.      _llll_oooo_gggg_iiii_nnnn [ _u_s_e_r_n_a_m_e |_----_pppp ]
  1103.                     Terminate a login shell and invoke _llll_oooo_gggg_iiii_nnnn(1).  The _...._llll_oooo_gggg_oooo_uuuu_tttt
  1104.                     file is not processed.  If _u_s_e_r_n_a_m_e is omitted, _llll_oooo_gggg_iiii_nnnn
  1105.                     prompts for the name of a user.
  1106.  
  1107.                     _----_pppp   Preserve the current environment (variables).
  1108.  
  1109.      _llll_oooo_gggg_oooo_uuuu_tttt         Terminate a login shell.
  1110.  
  1111.      _nnnn_iiii_cccc_eeee [ _++++_n |_----_n ] [ _c_o_m_m_a_n_d ]
  1112.                     Increment the process priority value for the shell or for
  1113.                     _c_o_m_m_a_n_d by _n.  The higher the priority value, the lower
  1114.                     the priority of a process, and the slower it runs.  When
  1115.                     given, _c_o_m_m_a_n_d is always run in a subshell, and the
  1116.  
  1117.  
  1118.  
  1119.                                                                        PPPPaaaaggggeeee 11117777
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  1127.  
  1128.  
  1129.  
  1130.                     restrictions placed on commands in simple _iiii_ffff commands
  1131.                     apply.  If _c_o_m_m_a_n_d is omitted, _nnnn_iiii_cccc_eeee increments the value
  1132.                     for the current shell.  If no increment is specified, _nnnn_iiii_cccc_eeee
  1133.                     sets the process priority value to 4.  The range of
  1134.                     process priority values is from -20 to 20.  Values of _n
  1135.                     outside this range set the value to the lower, or to the
  1136.                     higher boundary, respectively.
  1137.  
  1138.                     _++++_n   Increment the process priority value by _n.
  1139.                     _----_n   Decrement by _n.  This argument can be used only by
  1140.                          the privileged user.
  1141.  
  1142.      _nnnn_oooo_hhhh_uuuu_pppp [ _c_o_m_m_a_n_d ]
  1143.                     Run _c_o_m_m_a_n_d with HUPs ignored.  With no arguments, ignore
  1144.                     HUPs throughout the remainder of a script.  When given,
  1145.                     _c_o_m_m_a_n_d is always run in a subshell, and the restrictions
  1146.                     placed on commands in simple _iiii_ffff commands apply.  All
  1147.                     processes detached with _&&&& are effectively _nnnn_oooo_hhhh_uuuu_pppp'd.
  1148.  
  1149.      _nnnn_oooo_tttt_iiii_ffff_yyyy [ _%%%%_j_o_b ] ...
  1150.                     Notify the user asynchronously when the status of the
  1151.                     current, or of specified jobs, changes.
  1152.  
  1153.      _oooo_nnnn_iiii_nnnn_tttt_rrrr [ _---- |_l_a_b_e_l ]
  1154.                     Control the action of the shell on interrupts.  With no
  1155.                     arguments, _oooo_nnnn_iiii_nnnn_tttt_rrrr restores the default action of the shell
  1156.                     on interrupts.  (The shell terminates shell scripts and
  1157.                     returns to the terminal command input level).  With the _----
  1158.                     argument, the shell ignores all interrupts.  With a _l_a_b_e_l
  1159.                     argument, the shell executes a _gggg_oooo_tttt_oooo _l_a_b_e_l when an
  1160.                     interrupt is received or a child process terminates
  1161.                     because it was interrupted.
  1162.  
  1163.      _pppp_oooo_pppp_dddd [_++++_n]      Pop the directory stack, and _cccc_dddd to the new top directory.
  1164.                     The elements of the directory stack are numbered from 0
  1165.                     starting at the top.
  1166.  
  1167.                     _++++_n   Discard the _n'th entry in the stack.
  1168.  
  1169.      _pppp_uuuu_ssss_hhhh_dddd [_++++_n |_d_i_r]
  1170.                     Push a directory onto the directory stack.  With no
  1171.                     arguments, exchange the top two elements.
  1172.  
  1173.                     _++++_n   Rotate the _n'th entry to the top of the stack and _cccc_dddd
  1174.                          to it.
  1175.                     _d_i_r  Push the current working directory onto the stack and
  1176.                          change to _d_i_r.
  1177.  
  1178.      _rrrr_eeee_hhhh_aaaa_ssss_hhhh         Recompute the internal hash table of the contents of
  1179.                     directories listed in the _p_a_t_h variable to account for new
  1180.                     commands added.
  1181.  
  1182.  
  1183.  
  1184.  
  1185.                                                                        PPPPaaaaggggeeee 11118888
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  1193.  
  1194.  
  1195.  
  1196.      _rrrr_eeee_pppp_eeee_aaaa_tttt _c_o_u_n_t _c_o_m_m_a_n_d
  1197.                     Repeat _c_o_m_m_a_n_d _c_o_u_n_t times.  _c_o_m_m_a_n_d is subject to the
  1198.                     same restrictions as with the one-line _iiii_ffff statement.
  1199.  
  1200.      _ssss_eeee_tttt [ _v_a_r [ _==== _v_a_l_u_e ] ]
  1201.      _ssss_eeee_tttt _v_a_r_[[[[_n_]]]] _==== _w_o_r_d
  1202.                     With no arguments, _ssss_eeee_tttt displays the values of all shell
  1203.                     variables.  Multiword values are displayed as a
  1204.                     parenthesized list.  With the _v_a_r argument alone, _ssss_eeee_tttt
  1205.                     assigns an empty (null) value to the variable _v_a_r.  With
  1206.                     arguments of the form _v_a_r _==== _v_a_l_u_e _ssss_eeee_tttt assigns _v_a_l_u_e to
  1207.                     _v_a_r, where _v_a_l_u_e is one of:
  1208.  
  1209.                     _w_o_r_d           A single word (or quoted string).
  1210.                     _((((_w_o_r_d_l_i_s_t_))))     A space-separated list of words enclosed in
  1211.                                    parentheses.
  1212.  
  1213.                     Values are command and filename expanded before being
  1214.                     assigned.  The form _ssss_eeee_tttt _v_a_r_[[[[_n_]]]] _==== _w_o_r_d replaces the _n'th
  1215.                     word in a multiword value with _w_o_r_d.
  1216.  
  1217.                     Multiple assignments can be performed with a single _ssss_eeee_tttt
  1218.                     command:
  1219.  
  1220.                          _ssss_eeee_tttt _nnnn_oooo_tttt_iiii_ffff_yyyy _mmmm_aaaa_iiii_llll_====_((((_3333_0000 _////_uuuu_ssss_rrrr_////_mmmm_aaaa_iiii_llll_////_nnnn_eeee_mmmm_oooo_))))
  1221.  
  1222.      _ssss_eeee_tttt_eeee_nnnn_vvvv [ _V_A_R [ _w_o_r_d ] ]
  1223.                     With no arguments, _ssss_eeee_tttt_eeee_nnnn_vvvv displays all environment
  1224.                     variables.  With the _V_A_R argument sets the environment
  1225.                     variable _V_A_R to have an empty (null) value.  (By
  1226.                     convention, environment variables are normally given
  1227.                     upper-case names.)  With both _V_A_R and _w_o_r_d arguments
  1228.                     _ssss_eeee_tttt_eeee_nnnn_vvvv sets the environment variable _NNNN_AAAA_MMMM_EEEE to the value
  1229.                     _w_o_r_d, which must be either a single word or a quoted
  1230.                     string.  The most commonly used environment variables,
  1231.                     _UUUU_SSSS_EEEE_RRRR, _TTTT_EEEE_RRRR_MMMM, and _PPPP_AAAA_TTTT_HHHH, are automatically imported to and
  1232.                     exported from the _cccc_ssss_hhhh variables _uuuu_ssss_eeee_rrrr, _tttt_eeee_rrrr_mmmm, and _pppp_aaaa_tttt_hhhh;
  1233.                     there is no need to use _ssss_eeee_tttt_eeee_nnnn_vvvv for these.  In addition,
  1234.                     the shell sets the _PPPP_WWWW_DDDD environment variable from the _cccc_ssss_hhhh
  1235.                     variable _cccc_wwww_dddd whenever the latter changes.
  1236.  
  1237.      _ssss_hhhh_iiii_ffff_tttt [ _v_a_r_i_a_b_l_e ]
  1238.                     The components of _aaaa_rrrr_gggg_vvvv, or _v_a_r_i_a_b_l_e, if supplied, are
  1239.                     shifted to the left, discarding the first component.  It
  1240.                     is an error for the variable not to be set, or to have a
  1241.                     null value.
  1242.  
  1243.      _ssss_oooo_uuuu_rrrr_cccc_eeee [ _----_hhhh ] _n_a_m_e
  1244.                     Reads commands from _n_a_m_e.  _ssss_oooo_uuuu_rrrr_cccc_eeee commands can be nested,
  1245.                     but if they are nested too deeply the shell may run out of
  1246.                     file descriptors.  An error in a sourced file at any level
  1247.                     terminates all nested _ssss_oooo_uuuu_rrrr_cccc_eeee commands.
  1248.  
  1249.  
  1250.  
  1251.                                                                        PPPPaaaaggggeeee 11119999
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  1259.  
  1260.  
  1261.  
  1262.                     _----_hhhh   Place commands from the file _n_a_m_e on the history list
  1263.                          without executing them.
  1264.  
  1265.      _ssss_tttt_oooo_pppp [ _%%%%_j_o_b ] ...
  1266.                     Stop the current or specified background job.
  1267.  
  1268.      _ssss_uuuu_ssss_pppp_eeee_nnnn_dddd        Stop the shell in its tracks, much as if it had been sent
  1269.                     a stop signal with _^^^^_ZZZZ.  This is most often used to stop
  1270.                     shells started by _ssss_uuuu.
  1271.  
  1272.      _ssss_wwww_iiii_tttt_cccc_hhhh _((((_s_t_r_i_n_g_))))
  1273.      _cccc_aaaa_ssss_eeee _l_a_b_e_l_::::
  1274.      ...
  1275.      _bbbb_rrrr_eeee_aaaa_kkkk_ssss_wwww
  1276.      ...
  1277.      _dddd_eeee_ffff_aaaa_uuuu_llll_tttt_::::
  1278.      ...
  1279.      _bbbb_rrrr_eeee_aaaa_kkkk_ssss_wwww
  1280.      _eeee_nnnn_dddd_ssss_wwww          Each _l_a_b_e_l is successively matched, against the specified
  1281.                     _s_t_r_i_n_g, which is first command and filename expanded.  The
  1282.                     file metacharacters _****, _????  and _[[[[..._]]]]  can be used in the
  1283.                     case labels, which are variable expanded.  If none of the
  1284.                     labels match before a default label is found, execution
  1285.                     begins after the default label.  Each _cccc_aaaa_ssss_eeee statement and
  1286.                     the _dddd_eeee_ffff_aaaa_uuuu_llll_tttt statement must appear at the beginning of a
  1287.                     line.  The command _bbbb_rrrr_eeee_aaaa_kkkk_ssss_wwww continues execution after the
  1288.                     _eeee_nnnn_dddd_ssss_wwww.  Otherwise control falls through subsequent _cccc_aaaa_ssss_eeee
  1289.                     and _dddd_eeee_ffff_aaaa_uuuu_llll_tttt statements as with C.  If no label matches and
  1290.                     there is no default, execution continues after the _eeee_nnnn_dddd_ssss_wwww.
  1291.  
  1292.      _tttt_iiii_mmmm_eeee [ _c_o_m_m_a_n_d ]
  1293.                     With no argument, print a summary of time used by this C
  1294.                     shell and its children.  With an optional _c_o_m_m_a_n_d, execute
  1295.                     _c_o_m_m_a_n_d and print a summary of the time it uses.
  1296.  
  1297.      _uuuu_mmmm_aaaa_ssss_kkkk [ _v_a_l_u_e ]
  1298.                     Display the file creation mask.  With _v_a_l_u_e set the file
  1299.                     creation mask.  _v_a_l_u_e is given in octal, and is XORed with
  1300.                     the permissions of 666 for files and 777 for directories
  1301.                     to arrive at the permissions for new files.  Common values
  1302.                     include 002, giving complete access to the group, and read
  1303.                     (and directory search) access to others, or 022, giving
  1304.                     read (and directory search) but not write permission to
  1305.                     the group and others.
  1306.  
  1307.      _uuuu_nnnn_aaaa_llll_iiii_aaaa_ssss _p_a_t_t_e_r_n
  1308.                     Discard aliases that match (filename substitution)
  1309.                     _p_a_t_t_e_r_n.  All aliases are removed by _uuuu_nnnn_aaaa_llll_iiii_aaaa_ssss _****.
  1310.  
  1311.      _uuuu_nnnn_hhhh_aaaa_ssss_hhhh         Disable the internal hash table.
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.                                                                        PPPPaaaaggggeeee 22220000
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  1325.  
  1326.  
  1327.  
  1328.      _uuuu_nnnn_llll_iiii_mmmm_iiii_tttt [ _----_hhhh ] [ _r_e_s_o_u_r_c_e ]
  1329.                     Remove a limitation on _r_e_s_o_u_r_c_e.  If no _r_e_s_o_u_r_c_e is
  1330.                     specified, then all _r_e_s_o_u_r_c_e limitations are removed.  See
  1331.                     the description of the _llll_iiii_mmmm_iiii_tttt command for the list of
  1332.                     _r_e_s_o_u_r_c_e names.
  1333.  
  1334.                     _----_hhhh   Remove corresponding hard limits.  Only the
  1335.                          privileged user can do this.
  1336.  
  1337.      _uuuu_nnnn_ssss_eeee_tttt _p_a_t_t_e_r_n  Remove variables whose names match (filename substitution)
  1338.                     _p_a_t_t_e_r_n.  All variables are removed by `_uuuu_nnnn_ssss_eeee_tttt _****'; this has
  1339.                     noticeably distasteful side-effects.
  1340.  
  1341.      _uuuu_nnnn_ssss_eeee_tttt_eeee_nnnn_vvvv _v_a_r_i_a_b_l_e
  1342.                     Remove _v_a_r_i_a_b_l_e from the environment.  Pattern matching,
  1343.                     as with _uuuu_nnnn_ssss_eeee_tttt is not performed.
  1344.  
  1345.      _wwww_aaaa_iiii_tttt           Wait for background jobs to finish (or for an interrupt)
  1346.                     before prompting.
  1347.  
  1348.      _wwww_hhhh_iiii_llll_eeee _((((_e_x_p_r_))))
  1349.      ...
  1350.      _eeee_nnnn_dddd            While _eeee_xxxx_pppp_rrrr is true (evaluates to non-zero), repeat
  1351.                     commands between the _wwww_hhhh_iiii_llll_eeee and the matching _eeee_nnnn_dddd statement.
  1352.                     _bbbb_rrrr_eeee_aaaa_kkkk and _cccc_oooo_nnnn_tttt_iiii_nnnn_uuuu_eeee can be used to terminate or continue
  1353.                     the loop prematurely.  The _wwww_hhhh_iiii_llll_eeee and _eeee_nnnn_dddd must appear alone
  1354.                     on their input lines.  If the shell's input is a terminal,
  1355.                     it prompts for commands with a question-mark until the _eeee_nnnn_dddd
  1356.                     command is entered and then performs the commands in the
  1357.                     loop.
  1358.  
  1359.      _%%%% [ _j_o_b ] [ _&&&& ]
  1360.                     Bring the current or indicated _j_o_b to the foreground.
  1361.                     With the ampersand, continue running _j_o_b in the
  1362.                     background.
  1363.  
  1364.      _@@@@ [ _v_a_r _====_eeee_xxxx_pppp_rrrr ]
  1365.      _@@@@ [ _v_a_r _[[[[_n_]]]] _====_eeee_xxxx_pppp_rrrr ]
  1366.                     With no arguments, display the values for all shell
  1367.                     variables.  With arguments, the variable _v_a_r, or the _n'th
  1368.                     word in the value of _v_a_r , to the value that _eeee_xxxx_pppp_rrrr
  1369.                     evaluates to.  (If _[[[[_n_]]]] is supplied, both _v_a_r and its _n'th
  1370.                     component must already exist.)
  1371.  
  1372.                     If the expression contains the characters _>>>>, _<<<<, _&&&& or _||||,
  1373.                     then at least this part of _eeee_xxxx_pppp_rrrr must be placed within
  1374.                     parentheses.
  1375.  
  1376.                     The operators _****_====, _++++_====, etc., are available as in C.  The
  1377.                     space separating the name from the assignment operator is
  1378.                     optional.  Spaces are, however, mandatory in separating
  1379.                     components of _eeee_xxxx_pppp_rrrr that would otherwise be single words.
  1380.  
  1381.  
  1382.  
  1383.                                                                        PPPPaaaaggggeeee 22221111
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  1391.  
  1392.  
  1393.  
  1394.                     Special postfix operators, _++++_++++ and _----_---- increment or
  1395.                     decrement _n_a_m_e, respectively.
  1396.  
  1397.    EEEEnnnnvvvviiiirrrroooonnnnmmmmeeeennnntttt VVVVaaaarrrriiiiaaaabbbblllleeeessss aaaannnndddd PPPPrrrreeeeddddeeeeffffiiiinnnneeeedddd SSSShhhheeeellllllll VVVVaaaarrrriiiiaaaabbbblllleeeessss
  1398.      Unlike the standard shell, the C shell maintains a distinction between
  1399.      environment variables, which are automatically exported to processes it
  1400.      invokes, and shell variables, which are not.  Both types of variables are
  1401.      treated similarly under variable substitution.  The shell sets the
  1402.      variables _aaaa_rrrr_gggg_vvvv, _cccc_wwww_dddd, _hhhh_oooo_mmmm_eeee, _pppp_aaaa_tttt_hhhh, _pppp_rrrr_oooo_mmmm_pppp_tttt, _ssss_hhhh_eeee_llll_llll, and _ssss_tttt_aaaa_tttt_uuuu_ssss upon
  1403.      initialization.  The shell copies the environment variable _UUUU_SSSS_EEEE_RRRR into the
  1404.      shell variable _uuuu_ssss_eeee_rrrr, _TTTT_EEEE_RRRR_MMMM into _tttt_eeee_rrrr_mmmm, and _HHHH_OOOO_MMMM_EEEE into _hhhh_oooo_mmmm_eeee, and copies each
  1405.      back into the respective environment variable whenever the shell
  1406.      variables are reset.  _PPPP_AAAA_TTTT_HHHH and _pppp_aaaa_tttt_hhhh are similarly handled.  You need only
  1407.      set _pppp_aaaa_tttt_hhhh once in the _...._cccc_ssss_hhhh_rrrr_cccc or _...._llll_oooo_gggg_iiii_nnnn file.  The environment variable _PPPP_WWWW_DDDD
  1408.      is set from _cccc_wwww_dddd whenever the latter changes.  The following shell
  1409.      variables have predefined meanings:
  1410.  
  1411.      _aaaa_rrrr_gggg_vvvv      Argument list.  Contains the list of command-line arguments
  1412.                supplied to the current invocation of the shell.  This variable
  1413.                determines the value of the positional parameters _$$$$_1111, _$$$$_2222, and
  1414.                so on.  Note:  _aaaa_rrrr_gggg_vvvv_[[[[_0000_]]]] does not contain the command name.
  1415.  
  1416.      _cccc_dddd_pppp_aaaa_tttt_hhhh    Contains a list of directories to be searched by the _cccc_dddd, _cccc_hhhh_dddd_iiii_rrrr,
  1417.                and _pppp_oooo_pppp_dddd commands, if the directory argument each accepts is
  1418.                not a subdirectory of the current directory.
  1419.  
  1420.      _cccc_hhhh_iiii_llll_dddd     The process id of the most recently started background job.
  1421.  
  1422.      _cccc_wwww_dddd       The full pathname of the current directory.
  1423.  
  1424.      _eeee_cccc_hhhh_oooo      Echo commands (after substitutions), just before execution.
  1425.  
  1426.      _ffff_iiii_gggg_nnnn_oooo_rrrr_eeee   A list of filename suffixes to ignore when attempting filename
  1427.                completion.  Typically the single word `_...._oooo'.
  1428.  
  1429.      _ffff_iiii_llll_eeee_cccc     Enable filename completion, in which case the <Ctrl-d>
  1430.                character <Ctrl-d>) and the ESC character have special
  1431.                significance when typed in at the end of a terminal input line:
  1432.  
  1433.                EOT  Print a list of all filenames that start with the
  1434.                     preceding string.
  1435.                ESC  Replace the preceding string with the longest unambiguous
  1436.                     extension.
  1437.  
  1438.      _hhhh_aaaa_rrrr_dddd_pppp_aaaa_tttt_hhhh_ssss If set, pathnames in the directory stack are resolved to
  1439.                contain no symbolic-link components.
  1440.  
  1441.      _hhhh_iiii_ssss_tttt_cccc_hhhh_aaaa_rrrr_ssss A two-character string.  The first character replaces _!!!! as the
  1442.                history-substitution character.  The second replaces the carat
  1443.                (_^^^^) for quick substitutions.
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.                                                                        PPPPaaaaggggeeee 22222222
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  1457.  
  1458.  
  1459.  
  1460.      _hhhh_iiii_ssss_tttt_oooo_rrrr_yyyy   The number of lines saved in the history list.  A very large
  1461.                number may use up all of the C shell's memory.  If not set, the
  1462.                C shell saves only the most recent command.
  1463.  
  1464.      _hhhh_oooo_mmmm_eeee      The user's home directory.  The filename expansion of _~~~~ refers
  1465.                to the value of this variable.
  1466.  
  1467.      _iiii_gggg_nnnn_oooo_rrrr_eeee_eeee_oooo_ffff If set, the shell ignores EOF from terminals.  This protects
  1468.                against accidentally killing a C shell by typing a <Ctrl-d>.
  1469.  
  1470.      _mmmm_aaaa_iiii_llll      A list of files where the C shell checks for mail.  If the
  1471.                first word of the value is a number, it specifies a mail
  1472.                checking interval in seconds (default 5 minutes).
  1473.  
  1474.      _nnnn_oooo_bbbb_eeee_eeee_pppp    Suppress the bell during command completion when asking the C
  1475.                shell to extend an ambiguous filename.
  1476.  
  1477.      _nnnn_oooo_cccc_llll_oooo_bbbb_bbbb_eeee_rrrr Restrict output redirection so that existing files are not
  1478.                destroyed by accident.  _>>>> redirections can only be made to new
  1479.                files.  _>>>>_>>>> redirections can only be made to existing files.
  1480.  
  1481.      _nnnn_oooo_gggg_llll_oooo_bbbb    Inhibit filename substitution.  This is most useful in shell
  1482.                scripts once filenames (if any) are obtained and no further
  1483.                expansion is desired.
  1484.  
  1485.      _nnnn_oooo_nnnn_oooo_mmmm_aaaa_tttt_cccc_hhhh Returns the filename substitution pattern, rather than an
  1486.                error, if the pattern is not matched.  Malformed patterns still
  1487.                result in errors.
  1488.  
  1489.      _nnnn_oooo_tttt_iiii_ffff_yyyy    If set, the shell notifies you immediately as jobs are
  1490.                completed, rather than waiting until just before issuing a
  1491.                prompt.
  1492.  
  1493.      _pppp_aaaa_tttt_hhhh      The list of directories in which to search for commands.  _pppp_aaaa_tttt_hhhh
  1494.                is initialized from the environment variable _PPPP_AAAA_TTTT_HHHH, which the C
  1495.                shell updates whenever _pppp_aaaa_tttt_hhhh changes.  A null word specifies the
  1496.                current directory.  The default search path for normal users
  1497.                is:  _((((_....  _////_uuuu_ssss_rrrr_////_ssss_bbbb_iiii_nnnn _////_uuuu_ssss_rrrr_////_bbbb_ssss_dddd _////_bbbb_iiii_nnnn _////_uuuu_ssss_rrrr_////_bbbb_iiii_nnnn _////_uuuu_ssss_rrrr_////_bbbb_iiii_nnnn_////_XXXX_1111_1111_)))).  For
  1498.                the privileged user, the default search path is:  _((((_////_uuuu_ssss_rrrr_////_ssss_bbbb_iiii_nnnn
  1499.                _////_uuuu_ssss_rrrr_////_bbbb_ssss_dddd _////_bbbb_iiii_nnnn _////_uuuu_ssss_rrrr_////_bbbb_iiii_nnnn _////_eeee_tttt_cccc _////_uuuu_ssss_rrrr_////_eeee_tttt_cccc _////_uuuu_ssss_rrrr_////_bbbb_iiii_nnnn_////_XXXX_1111_1111_)))).  If _pppp_aaaa_tttt_hhhh
  1500.                becomes unset, only full pathnames execute.  An interactive C
  1501.                shell normally hashes the contents of the directories listed
  1502.                after reading _...._cccc_ssss_hhhh_rrrr_cccc, and whenever _pppp_aaaa_tttt_hhhh is reset.  If new
  1503.                commands are added, use the _rrrr_eeee_hhhh_aaaa_ssss_hhhh command to update the table.
  1504.  
  1505.      _pppp_rrrr_oooo_mmmm_pppp_tttt    The string an interactive C shell prompts with.  Noninteractive
  1506.                shells leave the _pppp_rrrr_oooo_mmmm_pppp_tttt variable unset.  Aliases and other
  1507.                commands in the _...._cccc_ssss_hhhh_rrrr_cccc file that are only useful interactively,
  1508.                can be placed after the following test:  `_iiii_ffff _((((_$$$$_????_pppp_rrrr_oooo_mmmm_pppp_tttt _====_==== _0000_))))
  1509.                _eeee_xxxx_iiii_tttt', to reduce startup time for noninteractive shells.  A _!!!!
  1510.                in the _pppp_rrrr_oooo_mmmm_pppp_tttt string is replaced by the current event number.
  1511.                The default prompt is _h_o_s_t_n_a_m_e_%%%% for mere mortals, or _h_o_s_t_n_a_m_e_####
  1512.  
  1513.  
  1514.  
  1515.                                                                        PPPPaaaaggggeeee 22223333
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  1523.  
  1524.  
  1525.  
  1526.                for the privileged user.
  1527.  
  1528.                If the _pppp_rrrr_oooo_mmmm_pppp_tttt string includes the sequence _\\\\_@@@@_x, where _x is one
  1529.                of the characters listed below, it is replaced by the current
  1530.                time and date in the indicated format.
  1531.  
  1532.                RRRR    time as HH:MM AM/PM, for example, 8:40PM
  1533.                rrrr    time as HH:MM:SS AM/PM, for example, 08:40:25 PM
  1534.                mmmm    month of year - 01 to 12
  1535.                dddd    day of month - 01 to 31
  1536.                yyyy    last 2 digits of year - 00 to 99
  1537.                DDDD    date as mm/dd/yy
  1538.                HHHH    hour - 00 to 23
  1539.                MMMM    minute - 00 to 59
  1540.                SSSS    second - 00 to 59
  1541.                TTTT    time as HH:MM:SS
  1542.                jjjj    day of year - 001 to 366
  1543.                wwww    day of week - Sunday = 0
  1544.                aaaa    abbreviated weekday - Sun to Sat
  1545.                hhhh    abbreviated month - Jan to Dec
  1546.                nnnn    insert a newline character
  1547.                tttt    insert a tab character
  1548.  
  1549.      _ssss_aaaa_vvvv_eeee_hhhh_iiii_ssss_tttt  The number of lines from the history list that are saved in
  1550.                _~~~~_////_...._hhhh_iiii_ssss_tttt_oooo_rrrr_yyyy when the user logs out.  Large values for _ssss_aaaa_vvvv_eeee_hhhh_iiii_ssss_tttt
  1551.                slow down the C shell during startup.  To prevent _ssss_uuuu sessions
  1552.                from overwriting the underlying user's history file, the shell
  1553.                only writes in the _~~~~_////_...._hhhh_iiii_ssss_tttt_oooo_rrrr_yyyy file if its current effective
  1554.                user id is the same as the owner of the directory specified by
  1555.                the _hhhh_oooo_mmmm_eeee variable.
  1556.  
  1557.      _ssss_hhhh_eeee_llll_llll     The file in which the C shell resides.  This is used in forking
  1558.                shells to interpret files that have execute bits set, but that
  1559.                are not executable by the system.
  1560.  
  1561.      _ssss_tttt_aaaa_tttt_uuuu_ssss    The status returned by the most recent command.  If that
  1562.                command terminated abnormally, 0200 is added to the status.
  1563.                Built-in commands that fail return exit status 1, all other
  1564.                built-in commands set status to 0.
  1565.  
  1566.      _tttt_iiii_mmmm_eeee      Control automatic timing of commands.  Can be supplied with one
  1567.                or two values.  The first is the reporting threshold in CPU
  1568.                seconds.  The second is a string of tags and text indicating
  1569.                which resources to report on.  A tag is a percent sign (_%%%%)
  1570.                followed by a single _u_p_p_e_r-_c_a_s_e letter (unrecognized tags print
  1571.                as text):
  1572.  
  1573.                _%%%%_DDDD   Average amount of unshared data space used in Kilobytes.
  1574.                _%%%%_EEEE   Elapsed (wallclock) time for the command.
  1575.                _%%%%_FFFF   Page faults.
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.                                                                        PPPPaaaaggggeeee 22224444
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  1589.  
  1590.  
  1591.  
  1592.                _%%%%_IIII   Number of block input operations.
  1593.                _%%%%_KKKK   Average amount of unshared stack space used in Kilobytes.
  1594.                _%%%%_MMMM   Maximum real memory used during execution of the process
  1595.                     in Kilobytes.
  1596.                _%%%%_OOOO   Number of block output operations.
  1597.                _%%%%_PPPP   Total CPU time -- U (user) plus S (system) -- as a
  1598.                     percentage of E (elapsed) time.
  1599.                _%%%%_SSSS   Number of seconds of CPU time consumed by the kernel on
  1600.                     behalf of the user's process.
  1601.                _%%%%_UUUU   Number of seconds of CPU time devoted to the user's
  1602.                     process.
  1603.                _%%%%_WWWW   Number of swaps.
  1604.                _%%%%_XXXX   Average amount of shared memory used in Kilobytes.
  1605.  
  1606.                The default summary display outputs from the _%%%%_UUUU, _%%%%_SSSS, _%%%%_EEEE, _%%%%_PPPP,
  1607.                _%%%%_XXXX, _%%%%_DDDD, _%%%%_IIII, _%%%%_OOOO, _%%%%_FFFF and _%%%%_WWWW tags, in that order.
  1608.  
  1609.                Note that the values for _%%%%_DDDD, _%%%%_KKKK, and _%%%%_XXXX always print as zero
  1610.                since the IRIX kernel does not maintain the _gggg_eeee_tttt_rrrr_uuuu_ssss_aaaa_gggg_eeee(3)
  1611.                counters required to calculate them.
  1612.  
  1613.      _vvvv_eeee_rrrr_bbbb_oooo_ssss_eeee   Display each command after history substitution takes place.
  1614.  
  1615. FFFFIIIILLLLEEEESSSS
  1616.      _~~~~_////_...._cccc_ssss_hhhh_rrrr_cccc       Read at beginning of execution by each shell.
  1617.      _////_eeee_tttt_cccc_////_cccc_ssss_hhhh_rrrr_cccc     Read by login shells before _...._cccc_ssss_hhhh_rrrr_cccc at login.
  1618.      _////_eeee_tttt_cccc_////_...._llll_oooo_gggg_iiii_nnnn    Read by login shells before _...._cccc_ssss_hhhh_rrrr_cccc and after _////_eeee_tttt_cccc_////_cccc_ssss_hhhh_rrrr_cccc.
  1619.      _////_eeee_tttt_cccc_////_cccc_ssss_hhhh_...._cccc_ssss_hhhh_rrrr_cccc Read by login shells before _...._cccc_ssss_hhhh_rrrr_cccc and after _////_eeee_tttt_cccc_////_...._llll_oooo_gggg_iiii_nnnn.
  1620.      _~~~~_////_...._llll_oooo_gggg_iiii_nnnn       Read by login shells after _...._cccc_ssss_hhhh_rrrr_cccc at login.
  1621.      _~~~~_////_...._llll_oooo_gggg_oooo_uuuu_tttt      Read by login shells at logout.
  1622.      _~~~~_////_...._hhhh_iiii_ssss_tttt_oooo_rrrr_yyyy     Saved history for use at next login.
  1623.      _////_uuuu_ssss_rrrr_////_bbbb_iiii_nnnn_////_ssss_hhhh    Standard shell, for shell scripts not starting with a `_####'.
  1624.      _////_tttt_mmmm_pppp_////_ssss_hhhh_****       Temporary file for `_<<<<_<<<<'.
  1625.      _////_eeee_tttt_cccc_////_pppp_aaaa_ssss_ssss_wwww_dddd    Source of home directories for `_~~~~_n_a_m_e'.
  1626.  
  1627. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  1628.      login(1), sh(1), xwsh(1G), access(2), exec(2), fork(2), pipe(2),
  1629.      a.out(4), ascii(5), environ(5), termio(7).
  1630.  
  1631. DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  1632.      _YYYY_oooo_uuuu _hhhh_aaaa_vvvv_eeee _ssss_tttt_oooo_pppp_pppp_eeee_dddd _jjjj_oooo_bbbb_ssss_....
  1633.           You attempted to exit the C shell with stopped jobs under job
  1634.           control.  An immediate second attempt to exit will succeed,
  1635.           terminating the stopped jobs.
  1636.  
  1637. NNNNOOOOTTTTEEEESSSS
  1638.      Words can be no longer than 1024 characters.  The system limits argument
  1639.      lists (including all environment variables) to 20480 characters by
  1640.      default.  Command substitutions can expand to no more characters than are
  1641.      allowed in the argument list.  Sometimes, particularly when using
  1642.      wildcards, the shell will fail to execute a command, and complain with
  1643.      the message
  1644.  
  1645.  
  1646.  
  1647.                                                                        PPPPaaaaggggeeee 22225555
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  1655.  
  1656.  
  1657.  
  1658.         AAAArrrrgggguuuummmmeeeennnnttttssss ttttoooooooo lllloooonnnngggg
  1659.      This can often be avoided by using multiple commands, the _x_a_r_g_s(1)
  1660.      command, or by increasing the nnnnccccaaaarrrrggggssss kernel parameter with the
  1661.      _s_y_s_t_u_n_e(1m) command.  If the kernel parameter is increased, currently
  1662.      running _c_s_h's will not notice the change.  It is necessary to start a new
  1663.      shell, or logout and back in, for the change to be effective.
  1664.  
  1665.      To detect looping, the shell restricts the number of _aaaa_llll_iiii_aaaa_ssss substitutions
  1666.      on a single line to 20.
  1667.  
  1668.      When a command is restarted from a stop, the shell prints the directory
  1669.      it started in if this is different from the current directory; this can
  1670.      be misleading (that is, wrong) as the job may have changed directories
  1671.      internally.
  1672.  
  1673.      Shell built-in functions are not stoppable/restartable.  Command
  1674.      sequences of the form _a _;;;; _b _;;;; _c are also not handled gracefully when
  1675.      stopping is attempted.  If you suspend _b, the shell never executes _c.
  1676.      This is especially noticeable if the expansion results from an alias.  It
  1677.      can be avoided by placing the sequence in parentheses to force it into a
  1678.      subshell.
  1679.  
  1680.      Control over terminal output after processes are started is primitive.
  1681.  
  1682.      Multiline shell procedures should be provided, as they are with the
  1683.      standard (Bourne) shell.
  1684.  
  1685.      Commands within loops, prompted for by _????, are not placed in the _h_i_s_t_o_r_y
  1686.      list.
  1687.  
  1688.      Control structures should be parsed rather than being recognized as
  1689.      built-in commands.  This would allow control commands to be placed
  1690.      anywhere, to be combined with _||||, and to be used with _&&&& and _;;;; metasyntax.
  1691.  
  1692.      It should be possible to use the _::::  modifiers on the output of command
  1693.      substitutions.  There are two problems with _::::  modifier usage on variable
  1694.      substitutions:  not all of the modifiers are available, and only one
  1695.      modifier per substitution is allowed.
  1696.  
  1697.      The _gggg (global) flag in history substitutions applies only to the first
  1698.      match in each word, rather than all matches in all words.  The the
  1699.      standard text editors consistently do the latter when given the _gggg flag in
  1700.      a substitution command.
  1701.  
  1702.      Quoting conventions are confusing.  Overriding the escape character to
  1703.      force variable substitutions within double quotes is counterintuitive and
  1704.      inconsistent with the Bourne shell.
  1705.  
  1706.      Symbolic links can fool the shell.  Setting the _hhhh_aaaa_rrrr_dddd_pppp_aaaa_tttt_hhhh_ssss variable
  1707.      alleviates this.
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.                                                                        PPPPaaaaggggeeee 22226666
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720. ccccsssshhhh((((1111))))                                                                  ccccsssshhhh((((1111))))
  1721.  
  1722.  
  1723.  
  1724.      `_ssss_eeee_tttt _pppp_aaaa_tttt_hhhh' should remove duplicate pathnames from the pathname list.
  1725.      These often occur because a shell script or a _...._cccc_ssss_hhhh_rrrr_cccc file does something
  1726.      like `_ssss_eeee_tttt _pppp_aaaa_tttt_hhhh_====_((((_////_uuuu_ssss_rrrr_////_llll_oooo_cccc_aaaa_llll  _////_uuuu_ssss_rrrr_////_hhhh_oooo_ssss_tttt_ssss  _$$$$_pppp_aaaa_tttt_hhhh_))))' to ensure that the named
  1727.      directories are in the pathname list.
  1728.  
  1729.      The only way to direct the standard output and standard error separately
  1730.      is by invoking a subshell, as follows:
  1731.  
  1732.           _eeee_xxxx_aaaa_mmmm_pppp_llll_eeee_%%%% _((((_c_o_m_m_a_n_d _>>>> _o_u_t_f_i_l_e_)))) _>>>>_&&&& _e_r_r_o_r_f_i_l_e
  1733.  
  1734.      Although robust enough for general use, adventures into the esoteric
  1735.      periphery of the C shell may reveal unexpected quirks.
  1736.  
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.                                                                        PPPPaaaaggggeeee 22227777
  1780.  
  1781.  
  1782.  
  1783.